package com.carb.dto;

import com.carb.enums.BusinessPayMethod;
import com.carb.enums.BusinessStatus;
import com.carb.query.PageQuery;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

@EqualsAndHashCode(callSuper = true)
@Data
@Schema(description = "分页查询业务传递的数据模型")
public class BusinessPageQueryDTO extends PageQuery implements Serializable {

    @Schema(description = "服务项目名称")
    private String projectName;

    @Schema(description = "服务项目类型id")
    private Long projectTypeId;

    @Schema(description = "员工姓名")
    private String employeeName;

    @Schema(description = "会员姓名")
    private String memberName;

    @Schema(description = "车牌号")
    private String plateNumber;

    @Schema(description = "付款方式 (余额, 微信, 支付宝, 现金)")
    private BusinessPayMethod payMethod;

    @Schema(description = "业务状态 (待接单, 进行中, 已完成, 已退款)")
    private BusinessStatus businessStatus;

    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    @Schema(description = "结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;

}
